草庐IT

c - MessageBox 的 GTK 实现

全部标签

c# - 使用数组实现 IEnumerable

这可能是一个简单的语法问题,但我想不出来。通常,我会这样做:publicclassOrderBook:IEnumerable{privatereadonlyListPriceLevels=newList();publicIEnumeratorGetEnumerator(){returnPriceLevels.GetEnumerator();}IEnumeratorIEnumerable.GetEnumerator(){returnPriceLevels.GetEnumerator();}}但我不想使用列表,而是使用数组-如下所示:publicclassArrayOrderBook:IE

C#:Dictionary<K,V> 如何在没有 Add(KeyValuePair<K,V>) 的情况下实现 ICollection<KeyValuePair<K,V>>?

查看System.Collections.Generic.Dictionary,它清楚地实现了ICollection>,但没有所需的“voidAdd(KeyValuePairitem)”功能。这也可以在尝试初始化Dictionary时看到像这样:privateconstDictionaryPropertyIDs=newDictionary(){newKeyValuePair("muh",2)};失败了Nooverloadformethod'Add'takes'1'arguments为什么会这样? 最佳答案 预期的API是通过两个参数

c# - 自动实现的属性 c#

有人可以向我解释一下使用自动实现的属性c#背后的想法是什么吗?publicclassCustomer{publicintID{get;set;}publicstringName{get;set;}}我得到了为私有(private)字段使用属性的动机,因此我们可以确定如何访问私有(private)字段。但在这里-这就像从一开始就将字段定义为public一样。不是吗?将字段定义为“publicconst”或将其定义为具有get-only属性有区别吗? 最佳答案 公共(public)自动属性与公共(public)字段不同,它们不是二进制兼

c# - 我应该用 GTK+ 而不是 WinForms 为 Mono 重写 GUI 吗?

我正在使用VisualStudio、winforms制作应用程序,我正在使用openTK。最近我想让它跨平台。我将使用Mono,因为我不知道其他类似的东西。而且我完全没有使用GTK+的经验。在我的应用中,目前有4个窗口(当然以后会更多)。我想让应用程序在Windows、Linux和OSX上运行得更快。我读过,GTK+比WinForms好,但仍然不确定该选择哪个。那么,我应该为GTK+重新制作所有内容还是继续使用WinForms,为什么?另外,是否有任何工具可以为我完成这项工作? 最佳答案 老实说,您需要告诉我们更多关于您的受众/预期

C# - 如何为 IComparable<T> 类实现多个比较器?

我有一个实现IComparable的类。publicclassMyClass:IComparable{publicintCompareTo(MyClassc){returnthis.whatever.CompareTo(c.whatever);}etc..}然后我可以调用类的泛型列表的排序方法Listc=newList();//Addstuff,etc.c.Sort();并根据我的比较器对列表进行排序。如何根据MyClass的其他属性指定更多比较器以不同方式对我的集合进行排序,以便让用户以多种不同方式对我的集合进行排序? 最佳答案

c# - 使用接口(interface)实现 CRUD

使用将用于抽象DAL操作的接口(interface)在BL上实现CRUD的最佳方法是什么?我需要你们的意见……这是我的草稿..映射到数据库表中的数据实体publicclassStudent{publicstringStudentId{get;set;}publicstringStudentName{get;set;}publicCourseStudentCourse{get;set;}}publicclassCourse{publicstringCourseCode{get;set;}publicstringCourseDesc{get;set;}}我创建了一个CRUD接口(inter

c# - MessageBox.Show() 是否自动编码到 UI 线程?

我通过ThreadPool.QueueUserWorkItem启动一个线程,其中有一个消息框对话框:System.Windows.Forms.DialogResultdr=System.Windows.Forms.MessageBox.Show("wouldyouliketodownloadupgradeinbackground?..","UpgradeAvailable",MessageBoxButtons.YesNo);它似乎工作正常,但我有点怀疑,因为一些客户表示他们没有收到弹出的消息。我在.NETFramework2.0+中感觉您不需要编码这个特定的调用,它会为您完成。正确吗?

c# - 为此结构实现 GetHashCode 的正确方法

我想使用日期范围(从一个日期到另一个日期)作为字典的键,所以我编写了自己的结构:structDateRange{publicDateTimeStart;publicDateTimeEnd;publicDateRange(DateTimestart,DateTimeend){Start=start.Date;End=end.Date;}publicoverrideintGetHashCode(){//???}}实现GetHashCode的最佳方法是什么,这样不同范围的两个对象就不会生成相同的哈希值?我希望散列冲突尽可能少,尽管我知道Dictionary仍会检查我也将实现的相等运算符,但不

c# - 实现 IEnumerable 的类实例的技术正确术语是什么?

我们称这样的实例为“集合”吗?一个“可枚举的”?或者是其他东西?我问我的两个主要目标是:让其他开发人员理解,而不必解释该类实现了IEnumerable。技术上正确和精确。 最佳答案 从技术上讲,我会通知开发人员它实现了IEnumerable。说任何其他信息都不够有用。任何了解IEnumerable的人都会立即了解您的类的功能。任何不了解的人都不会理解您所描述的内容。 关于c#-实现IEnumerable的类实例的技术正确术语是什么?,我们在StackOverflow上找到一个类似的问题:

c# - 在 MVC4 中显示和错误,我必须实现一些接口(interface),但我已经完成了

我正在尝试创建自己的过滤器属性以支持多语言。这个想法很简单。URL代表语言。*http://host.ext/en/rest_of_the_url*将以英文打开并且*http://host.ext/hy/rest_of_the_url*将以亚美尼亚语打开。问题是在运行时它说MultilingualActionFilterAttribute这是错误文本“给定的过滤器实例必须实现以下一个或多个过滤器接口(interface):IAuthorizationFilter、IActionFilter、IResultFilter、IExceptionFilter。”这里我用它作为全局过滤器。nam